Support for Concurrent Programming on the MONADS-PC System
نویسندگان
چکیده
To support concurrent programming the MONADS-PC instruction set and operating system kernel provide facilities for process creation, synchronization and scheduling. These facilities are assimilated with the LEIBNIZ programming environment, appearing as module class denitions. They form a small and ecient set of primitives which, when utilized by the modular features of the LEIBNIZ programming language, allow software modules to be constructed to support concurrent programming in a variety of styles. Modules supporting some of the more common styles are described. In addition, the MONADS-PC System's persistent, capability-based programming environment provides some new and very useful possibilities for concurrent programming.
منابع مشابه
Cheap (But Functional) Threads
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a dual rôle as a programming tool for concurrent applications and as a foundation for their verification. This abstraction—monads of resumptions expressed using monad transformers—is cheap: it is easy to understand, easy to implement, and easy to reason about. We illustrate the expressiveness of th...
متن کاملMonads-dp: Outline of an Object-oriented Concurrent Programming Model for Multiprocessor Systems
The main features of an Object-Oriented Concurrent Programming (OOCP) model called Monads-DP are introduced in this paper. Monads-DP is signiicantly different from other OOCP systems. Undirected Remote Procedure Calls are used in inter-object communication for which the target objects and methods are found by pattern matching. Objects apply implicit control for messages arriving to an object. M...
متن کاملCommunicating Haskell Processes: Composable Explicit Concurrency using Monads
Writing concurrent programs in languages that lack explicit support for concurrency can often be awkward and difficult. Haskell’s monads provide a way to explicitly specify sequence and effects in a functional language, and monadic combinators allow composition of monadic actions, for example via parallelism and choice – two core aspects of Communicating Sequential Processes (CSP).We show how t...
متن کاملThe Essence of Multitasking
This article demonstrates how a powerful and expressive abstraction from concurrency theory—monads of resumptions—plays a dual rôle as a programming tool for concurrent applications. The article demonstrates how a wide variety of typical OS behaviors may be specified in terms of resumption monads known heretofore exclusively in the literature of programming language semantics. We illustrate the...
متن کاملDistributed persistent stores
Considerable effort has been expended over the last decade on the production of persistent stores, for example CMS POMS, CPOMS, MONADS and Thatte's Persistent Memory. These generally did not provide for concurrent access to the store, and included no support for distribution. In this paper we investigate the distribution of persistent stores, including the issues of uniformity, unbounded size, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Australian Computer Journal
دوره 25 شماره
صفحات -
تاریخ انتشار 1993